home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / il / ilImgFile.z / ilImgFile
Encoding:
Text File  |  2002-10-03  |  6.8 KB  |  199 lines

  1.  
  2.  
  3.  
  4. iiiillllIIIImmmmggggFFFFiiiilllleeee((((3333))))       IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll       iiiillllIIIImmmmggggFFFFiiiilllleeee((((3333))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      iiiillllIIIImmmmggggFFFFiiiilllleeee - iflFile wrapper for an ilImage
  10.  
  11. IIIINNNNHHHHEEEERRRRIIIITTTTSSSS FFFFRRRROOOOMMMM
  12.      iflFile
  13.  
  14. HHHHEEEEAAAADDDDEEEERRRR FFFFIIIILLLLEEEE
  15.      #include <il/ilImgFile.h>
  16.  
  17. CCCCLLLLAAAASSSSSSSS DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  18.      ilImgFile can be used to derive classes that allow an ilImage object
  19.      (typically the end of an operator chain sourced from some image file) to
  20.      be treated as an iflFile. This allows interesting possibilities such as
  21.      implementing an image file format based on some scripting language that
  22.      builds an operator chain and allows it be treated as a virtual file that
  23.      is computed on demand rather than stored as the processed result.
  24.  
  25.      When ilFileImg sees an iflFile that is derived from ilImgFile it will
  26.      short-circuit the tile access virtuals and call those methods on the
  27.      imbedded ilImage object. This has the effect of bypassing the ilFileImg
  28.      cache (the cache of the imbedded ilImage is used instead) and allows the
  29.      tile accesses to properly utilize the IL MP exection model (e.g. if
  30.      getPage() on a normal iflFile were to do a getTile() on an imbedded image
  31.      it would have be synchronous since the iflFile API doesn't know anything
  32.      about ilMpMannager).
  33.  
  34.      When deriving from this class you must fill in the iflFile virtuals:
  35.  
  36.               ooooppppeeeennnnFFFFiiiilllleeee()
  37.               cccclllloooosssseeeeFFFFiiiilllleeee()
  38.  
  39.      ooooppppeeeennnnFFFFiiiilllleeee() is expected to call sssseeeettttRRRReeeeaaaaddddIIIImmmmaaaaggggeeee() (and possibly also
  40.      sssseeeettttWWWWrrrriiiitttteeeeIIIImmmmaaaaggggeeee()) with a pointer to some ilImage (possibly the end of some
  41.      operator chain);  cccclllloooosssseeeeFFFFiiiilllleeee() is expected to delete it.
  42.  
  43.      The iflFile virtuals:
  44.  
  45.               ccccrrrreeeeaaaatttteeeeFFFFiiiilllleeee()
  46.               fffflllluuuusssshhhh()
  47.  
  48.      may also be implemented if creating and writing make sense (they wouldn't
  49.      for an operator chain).
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. iiiillllIIIImmmmggggFFFFiiiilllleeee((((3333))))       IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll       iiiillllIIIImmmmggggFFFFiiiilllleeee((((3333))))
  71.  
  72.  
  73.  
  74. CCCCLLLLAAAASSSSSSSS MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN SSSSUUUUMMMMMMMMAAAARRRRYYYY
  75.      CCCCoooonnnnssssttttrrrruuuuccccttttoooorrrr
  76.  
  77.           ilImgFile()    _p_r_o_t_e_c_t_e_d
  78.  
  79.      GGGGeeeetttt////sssseeeetttt mmmmeeeetttthhhhooooddddssss
  80.  
  81.           ilImage* getReadImage()
  82.           ilImage* getWriteImage()
  83.           void setReadImage(ilImage* img)    _p_r_o_t_e_c_t_e_d
  84.           void setWriteImage(ilImage* img)   _p_r_o_t_e_c_t_e_d
  85.  
  86.  
  87. FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNNSSSS
  88.      iiiillllIIIImmmmggggFFFFiiiilllleeee(((())))
  89.  
  90.           ilImgFile()    _p_r_o_t_e_c_t_e_d
  91.  
  92.  
  93.  
  94.  
  95.      ggggeeeettttRRRReeeeaaaaddddIIIImmmmaaaaggggeeee(((())))
  96.  
  97.           ilImage* getReadImage()
  98.  
  99.  
  100.           This method returns a handle to the image that is to be accessed by
  101.           ilFileImg in the short-circuited tile reading methods (ggggeeeettttTTTTiiiilllleeee(),
  102.           lllloooocccckkkkPPPPaaaaggggeeee(), uuuunnnnlllloooocccckkkkPPPPaaaaggggeeee()), and used for attribute propagation.
  103.  
  104.      ggggeeeettttWWWWrrrriiiitttteeeeIIIImmmmaaaaggggeeee(((())))
  105.  
  106.           ilImage* getWriteImage()
  107.  
  108.  
  109.           This method returns a handle to the image that is to be accessed by
  110.           ilFileImg in the short-circuited tile writing methods (sssseeeettttTTTTiiiilllleeee(),
  111.           ccccooooppppyyyyTTTTiiiilllleeee(), ffffiiiillllllllTTTTiiiilllleeee()).
  112.  
  113.      sssseeeettttRRRReeeeaaaaddddIIIImmmmaaaaggggeeee(((())))
  114.  
  115.           void setReadImage(ilImage* img)    _p_r_o_t_e_c_t_e_d
  116.  
  117.  
  118.           This method sets the image that will be returned by ggggeeeettttRRRReeeeaaaaddddIIIImmmmaaaaggggeeee().
  119.           It also propagates the attributes from this image to the ilImgFile
  120.           object.
  121.  
  122.      sssseeeettttWWWWrrrriiiitttteeeeIIIImmmmaaaaggggeeee(((())))
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. iiiillllIIIImmmmggggFFFFiiiilllleeee((((3333))))       IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll       iiiillllIIIImmmmggggFFFFiiiilllleeee((((3333))))
  137.  
  138.  
  139.  
  140.           void setWriteImage(ilImage* img)   _p_r_o_t_e_c_t_e_d
  141.  
  142.  
  143.           This method sets the image that will be returned by ggggeeeettttWWWWrrrriiiitttteeeeIIIImmmmaaaaggggeeee().
  144.  
  145. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  146.      iflFile(3), ilFileImg(3)
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.